package com.example.demo.mapper;

import com.example.demo.entity.Userinfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserMapper {

    /**
     * 根据用户 id 查询用户信息
     *
     * @param userId
     * @return
     */
    Userinfo getUserById(@Param("userId") Integer userId);
    /**
     * 查询全部
     * @return java.util.List<com.example.demo.entity.Userinfo>
    */
    List<Userinfo> getAll();

    /**
     * 添加用户对象
     * @return int
    */
    int add(Userinfo userinfo);

    /**
     * 添加并获取id
     * @return int
    */
    int addGetId(Userinfo userinfo);

    /**
     * 修改用户名称
     * @return int
    */
    int updateUserName(Userinfo userinfo);

    /**
     * 删除用户
     * @return int
     */
    int delById(@Param("id") Integer id);

    List<Userinfo> getListByOrder(@Param("order")String order);

    Userinfo login(@Param("username")String username,
                   @Param("password")String password);

    List<Userinfo> getListByName(@Param("username")String username);

    int add2(Userinfo userinfo);

    /**
     * 动态sql，根据参数查询数据列表(where)
     * @return java.util.List<com.example.demo.entity.Userinfo>
    */
    List<Userinfo> getListByParm(String username,String password);

    /**
     * 动态sql，根据参数查询数据列表(trim)
     * @return java.util.List<com.example.demo.entity.Userinfo>
     */
    List<Userinfo> getListByParm1(String username,String password);


    /**
     * 动态sql根据修改数据
     * @return int
    */
    int update2(Userinfo userinfo);

    int dels(List<Integer> ids);




}
